package com.cy.mall.model.vo.order;

import com.cy.mall.model.enums.ThirdSource;
import com.cy.mall.model.enums.order.ApplyStatus;
import com.cy.mall.model.enums.order.OrderFinalStatusE;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description 前台-订单列表字段
 * @Author tanyilin
 * @Date 2019/3/14 14:03
 */
@Data
@ApiModel("前台-订单列表字段")
public class OrderListVO {

    @ApiModelProperty(value = "订单ID", example = "0")
    private Long orderId;

    @ApiModelProperty(value = "云科订单ID")
    private String loanId;

    @ApiModelProperty(value = "产品ID", example = "0")
    private Long productId;

    @ApiModelProperty(value = "产品名称")
    private String productName;

    @ApiModelProperty(value = "订单产品类型")
    private String orderProductType;

    @ApiModelProperty(value = "订单第三方来源")
    private ThirdSource thirdSource;

    @ApiModelProperty(value = "第三方产品类型")
    private String thirdProductType;

    @ApiModelProperty(value = "申请金额", example = "0.00")
    private BigDecimal applyAmount;

    @ApiModelProperty(value = "申请期数", example = "0")
    private Integer applyPeriods;

    @ApiModelProperty(value = "授信金额", example = "0.00")
    private BigDecimal decisionAmount;

    @ApiModelProperty(value = "放款金额", example = "0.00")
    private BigDecimal loanAmount;

    @ApiModelProperty(value = "审批期数", example = "0")
    private Integer periods;

    @ApiModelProperty(value = "月利率", example = "0.00")
    private BigDecimal rate;

    @ApiModelProperty(value = "服务费率字符串")
    private String feeRateStr;

    @ApiModelProperty(value = "管理费率字符串")
    private String percentageStr;

    @ApiModelProperty(value = "服务费率", example = "0.00")
    private BigDecimal feeRate;

    @ApiModelProperty(value = "管理费率", example = "0.00")
    private BigDecimal percentage;

    @ApiModelProperty(value = "订单最终状态")
    private OrderFinalStatusE finalStatus;

    @ApiModelProperty(value = "订单最终状态文案")
    private String finalStatusText;

    @ApiModelProperty(value = "申请时间")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "授信时间")
    private Date decisionTime;

    @ApiModelProperty(value = "放款时间")
    private Date loanTime;

    @ApiModelProperty(value = "收款卡银行名称")
    private String bankName;

    @ApiModelProperty(value = "收款卡账户")
    private String bankReceiveAcct;
}
